package com.security.demo.alipay.page;

import org.springframework.stereotype.Service;

/**
 * AlipayService
 *
 * @author: Dark_Blue
 * @date: 2020/3/12 17:17
 */
public interface AliPayPageService {

    /**
     * 创建订单
     *
     * @param orderNo     订单号（系统中唯一订单号）
     * @param orderName   订单名称
     * @param amount      订单金额
     * @param description 订单描述
     * @return
     */
    String createOrder(String orderNo, String orderName, String amount, String description);

    /**
     * 获取订单信息
     * 选择二选一设置
     *
     * @param orderNo 订单号
     * @param tradeNo 支付宝交易号
     * @return
     */
    String getOrderInfo(String orderNo, String tradeNo);

    /**
     * 退款
     *
     * @param orderNo         商户订单号
     * @param tradeNo         支付宝交易号
     * @param amount          退款金额
     * @param reason          退款原因
     * @param refundRequestNo 退款请求号
     * @return
     */
    String refund(String orderNo, String tradeNo, String amount, String reason, String refundRequestNo);

    /**
     * 退款查询
     *
     * @param orderNo         商户订单号
     * @param tradeNo         支付宝交易号
     * @param refundRequestNo 退款请求号
     * @return
     */
    String refundQuery(String orderNo, String tradeNo, String refundRequestNo);

    /**
     * 交易关闭
     * 选择二选一设置
     *
     * @param orderNo 订单号
     * @param tradeNo 支付宝交易号
     * @return
     */
    String close(String orderNo, String tradeNo);
}
